Init:
	booctl init booting-go-demo --pkg=gitee.com/kristas/booting-go-demo

# cd booting-go-demo
# add datasource config
UseDataSource:
	booctl use datasource
# use gorm plugin
UseGorm:
	booctl use gorm
# edit your database info in config.yml/config-local.yml/config-prod.yml
# generate a repository
AddRepository:
	booctl add repo test_repo -d datasource -t tb_test
# generate a service
AddService:
	booctl add svc test_svc
# generate an api controller
AddApi:
	booctl add api test_api -g /test
# add some api field to struct TestApi, like: getById rest.GET `url:"/id/{id}" param:"id path"`
# then gen api function
GenApi:
	booctl gen api
# generate a web filter
AddFilter:
	booctl add filter test_filter -o 1 -p "/*"
# use a web container, example gin
UseGin:
	booctl use gin
# add a swagger plugin
UseSwagger:
	booctl use swagger
# add a auto_open_browser plugin
UseOpenBrowserPlugin:
	booctl use open_browser
# edit url like /swagger-ui.html in init/use_open_browser.go

# then run your application in main.go


#########################
#						#
#	  Other Command		#
#						#
#########################
# add config by properties format, in follow example, will generate config-test.yaml
AddConfig:
	booctl add config test.test_one=ok test.test_two=failed -e test

# Generate Template
GenAll:
	booctl gen

# will called by AddService, also can call standalone
GenService:
	booctl gen service

# will called by AddRepository, also can call standalone
GenRepository:
	booctl gen repository

# use default cache
UseCache:
	booctl use cache

# use redis cache and add redis config
UseRedis:
	booctl use redis

# other web container
# iris container
UseIris:
	booctl use iris
# echo container
UseEcho:
	booctl use echo

# use security plugin and casbin
UseSecurity:
	booctl use security

# use websocket plugin
UseWebsocket:
	booctl use websocket

# use flyway plugin to migrate database
UseFlyway:
	booctl use flyway
